package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * sublist()方法的演示
 * sublist(int start, int end) 含头不含尾
 */
public class SubListDemo {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        for(int i=0;i<10;i++){
            list.add(i*10);
        }
        System.out.println("list:"+list);
        List<Integer> subList=list.subList(3,8);//获取下标3到7的子集
        System.out.println(subList);
        //将子集的每个元素都扩大10倍
        for(int i=0;i<subList.size();i++){
           subList.set(i,subList.get(i)*10);
        }
        System.out.println("subList:"+subList);
        //注意:对子集的操作就是对原集对应元素的操作
        System.out.println("list:"+list);

        list.set(3,1000);
        System.out.println("list:"+list);
        //原集合数据改变后，子集数据跟着变了
        System.out.println("subList:"+subList);

        list.remove(0);
        System.out.println("list:"+list);
        //原集合长度修改之后，子集将不能再进行任何操作，操作则发生异常，但是可以重新获取子集
        System.out.println("subList:"+subList);
    }
}
